package com.xci.platform.auth.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 对象资源关联数据访问接口
 */
@Mapper
public interface ObjectMapDao {
    /**
     * 保存资源映射对象列表
     * @param objectName 对象名称
     * @param objectId 对象主键
     * @param targetName 目标名称
     * @param targetIds 目标主键数组
     */
    int insert(@Param("objectName") String objectName, @Param("objectId") String objectId,
               @Param("targetName") String targetName, @Param("targetIds") String[] targetIds);

    /**
     * 删除资源映射对象列表
     * @param objectName 对象名称
     * @param objectId 对象主键
     */
    int delete(@Param("objectName") String objectName, @Param("objectId") String objectId);

    /**
     * 获取资源映射目标对象主键数组
     * @param objectName 对象名称
     * @param objectId 对象主键
     * @param targetName 目标名称
     */
    List<String> queryTargetIds(@Param("objectName") String objectName, @Param("objectId") String objectId,
                                @Param("targetName") String targetName);
}
